package com.ch.doudemo.activity;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.alibaba.fastjson.JSON;
import com.ch.doudemo.R;
import com.ch.doudemo.base.MyApp;
import com.ch.doudemo.bean.LoginReqBean;
import com.ch.doudemo.bean.LoginResBean;
import com.ch.doudemo.bean.UrlBean;
import com.ch.doudemo.util.HttpClientUtil;
import com.ch.doudemo.util.MyStringCallback;
import com.ch.doudemo.util.PermissionsUtil;
import com.luck.picture.lib.PictureSelector;
import com.luck.picture.lib.config.PictureConfig;
import com.luck.picture.lib.config.PictureMimeType;
import com.luck.picture.lib.entity.LocalMedia;

import java.util.ArrayList;
import java.util.List;

import butterknife.BindView;
import butterknife.ButterKnife;
import butterknife.OnClick;
import okhttp3.Call;

public class MainActivity extends AppCompatActivity {


    @BindView(R.id.btnPage)
    Button btnPage;
    @BindView(R.id.btnPage5)
    Button btnPage5;
    @BindView(R.id.btnPage2)
    Button btnPage2;
    @BindView(R.id.btnList)
    Button btnList;
    @BindView(R.id.btnRecord)
    Button btnRecord;
    @BindView(R.id.btnRecord2)
    Button btnRecord2;

    private List<LocalMedia> selectList = new ArrayList<>();
    private MyApp myApp;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ButterKnife.bind(this);
        initView();
        addListener();
    }

    private void addListener() {

    }

    private void initView() {
//        PermissionsUtil.initPermission(this, 0);
        myApp = (MyApp) getApplication();

    }


    @OnClick({R.id.btnPage, R.id.btnList, R.id.btnRecord, R.id.btnRecord2, R.id.btnPage2, R.id.btnPage5})
    public void onViewClicked(View view) {
        Intent intent = new Intent();
        switch (view.getId()) {
            case R.id.btnPage:
                intent.setClass(MainActivity.this, PageActivity.class);
                startActivity(intent);
                break;
            case R.id.btnList:
                requestLogin();
                break;
            case R.id.btnRecord:
                intent.setClass(MainActivity.this, RecordActivity.class);
                startActivity(intent);
                break;

            case R.id.btnRecord2:
                intent.setClass(MainActivity.this, Record2Activity.class);
                startActivity(intent);
                break;

            case R.id.btnPage2:
                intent.setClass(MainActivity.this, Page2Activity.class);
                startActivity(intent);
                break;
            case R.id.btnPage5:
                selectList.clear();
//                gotoSelectPhoto();
                break;
        }

    }


    private void requestLogin() {
        LoginReqBean loginReqBean = new LoginReqBean();
        String jsonStr = JSON.toJSONString(loginReqBean);
        HttpClientUtil.postReq(UrlBean.ReqLogin, "", jsonStr, this, new MyStringCallback() {
            @Override
            public void onError(Call call, Exception e, int id) {
                Toast.makeText(MainActivity.this, UrlBean.ReqError, Toast.LENGTH_SHORT).show();
            }

            @Override
            public void onResponse(String response, int id) {
                Log.e("bugggggggggggggg", "requestLogin = " + response);
                LoginResBean loginResBean = JSON.parseObject(response, LoginResBean.class);
                if ("200".equals(loginResBean.getErrcode())) {
                    myApp.setToken(loginResBean.getData().getToken());
                    Intent intent = new Intent(MainActivity.this, ListActivity.class);
                    startActivity(intent);
                } else {
                    Toast.makeText(MainActivity.this, loginResBean.getErrmsg(), Toast.LENGTH_SHORT).show();
                }

            }
        });
    }


//    private void gotoSelectPhoto() {
//        PictureSelector.create(this)
//                .openGallery(PictureMimeType.ofAll())//全部.PictureMimeType.ofAll()、图片.ofImage()、视频.ofVideo()、音频.ofAudio()
////                        .theme()//主题样式(不设置为默认样式) 也可参考demo values/styles下 例如：R.style.picture.white.style
//                .maxSelectNum(9)// 最大图片选择数量 int
////                        .minSelectNum()// 最小选择数量 int
//                .imageSpanCount(4)// 每行显示个数 int
//                .selectionMode(PictureConfig.MULTIPLE)// 多选 or 单选 PictureConfig.MULTIPLE or PictureConfig.SINGLE
//                .previewImage(true)// 是否可预览图片 true or false
//                .previewVideo(true)// 是否可预览视频 true or false
//                .enablePreviewAudio(false) // 是否可播放音频 true or false
//                .isCamera(true)// 是否显示拍照按钮 true or false
//                .imageFormat(PictureMimeType.PNG)// 拍照保存图片格式后缀,默认jpeg
//                .isZoomAnim(true)// 图片列表点击 缩放效果 默认true
//                .sizeMultiplier(0.5f)// glide 加载图片大小 0~1之间 如设置 .glideOverride()无效
//                .setOutputCameraPath("/douDemo")// 自定义拍照保存路径,可不填
//                .enableCrop(false)// 是否裁剪 true or false
//                .compress(false)// 是否压缩 true or false
////                        .glideOverride()// int glide 加载宽高，越小图片列表越流畅，但会影响列表图片浏览的清晰度
////                        .withAspectRatio()// int 裁剪比例 如16:9 3:2 3:4 1:1 可自定义
////                        .hideBottomControls()// 是否显示uCrop工具栏，默认不显示 true or false
////                        .isGif()// 是否显示gif图片 true or false
////                        .compressSavePath(getPath())//压缩图片保存地址
////                        .freeStyleCropEnabled()// 裁剪框是否可拖拽 true or false
////                        .circleDimmedLayer()// 是否圆形裁剪 true or false
////                        .showCropFrame()// 是否显示裁剪矩形边框 圆形裁剪时建议设为false   true or false
////                        .showCropGrid()// 是否显示裁剪矩形网格 圆形裁剪时建议设为false    true or false
////                        .openClickSound()// 是否开启点击声音 true or false
//                .selectionMedia(selectList)// 是否传入已选图片 List<LocalMedia> list
//                .previewEggs(true)// 预览图片时 是否增强左右滑动图片体验(图片滑动一半即可看到上一张是否选中) true or false
////                        .cropCompressQuality()// 裁剪压缩质量 默认90 int
//                .minimumCompressSize(100)// 小于100kb的图片不压缩
//                .synOrAsy(true)//同步true或异步false 压缩 默认同步
////                        .cropWH()// 裁剪宽高比，设置如果大于图片本身宽高则无效 int
////                        .rotateEnabled() // 裁剪是否可旋转图片 true or false
////                        .scaleEnabled()// 裁剪是否可放大缩小图片 true or false
//                .videoQuality(0)// 视频录制质量 0 or 1 int
//                .videoMaxSecond(15)// 显示多少秒以内的视频or音频也可适用 int
////                        .videoMinSecond(10)// 显示多少秒以内的视频or音频也可适用 int
////                .recordVideoSecond(20)//视频秒数录制 默认60s int
////                        .isDragFrame(false)// 是否可拖动裁剪框(固定)
//                .forResult(PictureConfig.CHOOSE_REQUEST);//结果回调onActivityResult code
//
//    }
}
